/**
 * @file alarm_set.h
 *
 */
#ifndef ALARM_SET_H
#define ALARM_SET_H

#ifdef __cplusplus
extern "C" {
#endif

/*********************
 *      INCLUDES
 *********************/

#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_watch_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_watch_conf.h"
#endif

#if USE_LV_WATCH_ALARM_SET

/*********************
 *      DEFINES
 *********************/

/**********************
 *      TYPEDEFS
 **********************/
typedef enum {
    ALARM_ADD_SET_TIME = 1,
    ALARM_ADD_SET_REPEAT,
    ALARM_EDIT_SET_TIME,
    ALARM_EDIT_SET_REPEAT,
} alarm_set_type_t;

typedef struct {
    uint8_t index;
    uint8_t hour;
    uint8_t min;
    uint8_t repeat_bitmap;
} alarm_curr_t;

typedef struct {
    lv_watch_obj_ext_t lv_watch_obj;
    /*New data for this type */
    lv_obj_t *list;
    lv_obj_t * roller[2];
    lv_obj_t * btn_week[7];
    char sel_str[2][6];
} lv_alarm_list_obj_ext_t;

/**********************
 * GLOBAL PROTOTYPES
 **********************/
void alarm_create_event_cb(lv_obj_t * btn, lv_event_t e);
lv_obj_t * alarm_list_create(lv_obj_t * activity_obj);

/**********************
 *      MACROS
 **********************/

#endif /*USE_LV_WATCH_ALARM_SET*/

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /*ALARM_SET_H*/
